% k-μ 参数2d图
clc; clear;

% 参数设置
k_values = linspace(0, 0.5, 200);    % k 范围 [0, 0.5]
mu_values = linspace(2.6, 4, 200);  % μ 范围 [2.6, 4]
[K, MU] = meshgrid(k_values, mu_values);

% 预分配结果矩阵（存储动力学分类编号）
% 分类编号：1 = Hyperchaos, 2 = Chaos, 3 = Quasi-period, 4 = Period
dynamics = zeros(size(K));

% 初始条件
state0 = [0.1, 0, -1];

% 丢弃瞬态迭代次数与 LE 估计步数
nTransient = 1000;
nLE = 1000;

parfor idx = 1:numel(K)
    k = K(idx);
    mu = MU(idx);
    
    % 初始化状态
    state = state0;
    
    % 丢弃瞬态
    for n = 1:nTransient
        [dx, dy, dz] = mclm(state, mu, k);
        state = [dx, dy, dz];
    end
    
    % 计算 Lyapunov 指数
    LE_vals = LEs(state, mu, k, nLE);
    
    % 根据 LE 分类动力学行为
    positive_LE = sum(LE_vals > 0);
    max_LE = max(LE_vals);
    
    % 判定逻辑
    if positive_LE >= 2
        dynamics(idx) = 1;  % 超混沌 (Hyperchaos)
    elseif positive_LE == 1
        dynamics(idx) = 2;  % 混沌 (Chaos)
    elseif abs(max_LE) < 1e-3
        dynamics(idx) = 3;  % 准周期 (Quasi-period)
    else
        dynamics(idx) = 4;  % 周期 (Period)
    end
end

% 绘制 2D 分布图
figure;
imagesc(k_values, mu_values, dynamics);
set(gca, 'YDir', 'normal');
xlabel('Coupling strength k');
ylabel('Control parameter \mu');
title('2D Dynamics Distribution in k-\mu Plane (z_0 = -1)');
colorbar;

% 定义色彩 colormap：1=Hyperchaos(棕色), 2=Chaos(红色), 3=Quasi-period(橙色), 4=Period(蓝色)
color_map = [0.6 0.3 0;    % 1: Hyperchaos (棕色)
             1   0   0;    % 2: Chaos (红色)
             1   0.5 0;    % 3: Quasi-period (橙色)
             0   0   1];   % 4: Period (蓝色)
colormap(color_map);

% 设定刻度条
cbar = colorbar;
set(cbar, 'Ticks', [1.5, 2.5, 3.5, 4.5], ...
    'TickLabels', {'Hyperchaos', 'Chaos', 'Quasi-period', 'Period'});
